import logging


def logger_handle(filename):
    """编程的方式logging的高级写法"""
    # 1.设置记录器
    logger = logging.getLogger('applog')
    logger.setLevel(logging.DEBUG)

    # 2.设置处理器(没有给handler制定日志级别的时候，将使用记录器logger的级别)
    # 控制台处理器
    consoleHandler = logging.StreamHandler()
    consoleHandler.setLevel(logging.DEBUG)
    # 文件处理器
    fileHandler = logging.FileHandler(filename=filename)
    fileHandler.setLevel(logging.DEBUG)

    # 3.指定fomatter格式化日志
    formatter = logging.Formatter("%(asctime)s|%(levelname)s|%(filename)s:%(lineno)s|%(message)s")

    # 4.给处理器设置格式
    # 控制台
    consoleHandler.setFormatter(formatter)
    fileHandler.setFormatter(formatter)

    # 5.记录器关联处理器
    logger.addHandler(consoleHandler)
    logger.addHandler(fileHandler)

    return logger